Telegram Group & Telegram Channel
🌀 Как работает yield в Python?

Когда вы пишете функцию с yield, она превращается в генератор.
Это не просто функция — это объект, который можно итерировать, и при каждой итерации он "просыпается", возвращает значение и снова засыпает.

Пример:
def squares():
for i in range(3):
yield i * i

for x in squares():
print(x)


Вывод:
0
1
4

Подробнее тут.

Важно: yield не только возвращает значение, но и сохраняет состояние функции.
Это значит, что переменные не сбрасываются, цикл не начинается с начала — выполнение продолжается с того же места.

Зачем это нужно?
🟠Работать с большими объёмами данных
🟠Писать "ленивый" код, который экономит память
🟠Делать асинхронные пайплайны и обработчики

Крч если хочешь писать код, который не захлёбывается от объёмов — генераторы тебе в помощь 😢
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/pythonist_ru/2484
Create:
Last Update:

🌀 Как работает yield в Python?

Когда вы пишете функцию с yield, она превращается в генератор.
Это не просто функция — это объект, который можно итерировать, и при каждой итерации он "просыпается", возвращает значение и снова засыпает.

Пример:

def squares():
for i in range(3):
yield i * i

for x in squares():
print(x)


Вывод:
0
1
4

Подробнее тут.

Важно: yield не только возвращает значение, но и сохраняет состояние функции.
Это значит, что переменные не сбрасываются, цикл не начинается с начала — выполнение продолжается с того же места.

Зачем это нужно?
🟠Работать с большими объёмами данных
🟠Писать "ленивый" код, который экономит память
🟠Делать асинхронные пайплайны и обработчики

Крч если хочешь писать код, который не захлёбывается от объёмов — генераторы тебе в помощь 😢

BY Pythonist.ru - образование по питону




Share with your friend now:
tg-me.com/pythonist_ru/2484

View MORE
Open in Telegram


Pythonist ru образование по питону Telegram | DID YOU KNOW?

Date: |

If riding a bucking bronco is your idea of fun, you’re going to love what the stock market has in store. Consider this past week’s ride a preview.The week’s action didn’t look like much, if you didn’t know better. The Dow Jones Industrial Average rose 213.12 points or 0.6%, while the S&P 500 advanced 0.5%, and the Nasdaq Composite ended little changed.

The S&P 500 slumped 1.8% on Monday and Tuesday, thanks to China Evergrande, the Chinese property company that looks like it is ready to default on its more-than $300 billion in debt. Cries of the next Lehman Brothers—or maybe the next Silverado?—echoed through the canyons of Wall Street as investors prepared for the worst.

Pythonist ru образование по питону from it


Telegram Pythonist.ru - образование по питону
FROM USA